home *** CD-ROM | disk | FTP | other *** search
- ;------------------------------------------------------------------------------
- ; .ss.
- ; `²²'
- ; .,sS$Ss,,s$ .,sS$$$Ss. .,sS$Ss,,s$ .ss. .sSs.
- ; .d$$²^°²$$$$'.d$P²°^^²$P'.d$$²^°²$$$$'.$$$' .$$$²Sb,.
- ; $$$' .$$$' $$$²Sçsµ²' .$$$' .$$$'.$$$' .$$$' `$$b.
- ; $$$b,,d$$$' ,$$$b,....,s$$$$b,,d$$$'.$$$;.,$$$' ;$$$
- ; `²S$$S²²S$$S²°²S$$$$S²°°²S$$$$$$',$$S²°²S$S'.sS$$$P²'
- ; .sS²°$$$²²°"' d²°'
- ; .$$² .$$'
- ; $$$.,d$$'
- ; `²S$$S²'
- ;------------------------------------------------------------------------------
- ; P.P.L.X. 2.OO (C)1996 - Lone Runner / AEGiS CoRP'96
- ;------------------------------------------------------------------------------
- ; PPE 2.OO (plain) - Analysis ON - Postprocessing ON
- ;------------------------------------------------------------------------------
-
- Boolean BOOLEAN001
- Boolean BOOLEAN002
- Boolean BOOLEAN003
- Boolean BOOLEAN004
- Integer INTEGER001
- Integer INTEGER002
- Integer INTEGER003
- Integer INTEGER004
- Integer INTEGER005
- Integer INTEGER006
- Integer INTEGER007
- Integer INTEGER008
- Integer INTEGER009
- Integer INTEGER010
- Integer INTEGER011
- Integer TINTEGER012(1)
- String TSTRING001(1,2)
- String TSTRING002(26,2)
- String TSTRING003(31)
- String STRING004
- String STRING005
- String STRING006
- String STRING007
- String STRING008
- String STRING009
- BigStr BIGSTR001
-
- ;------------------------------------------------------------------------------
-
- GetUser
- STRING004 = "@X08Slogon v2.0 by Vigilante [PWA] @X8C<UNREGISTERED>"
- INTEGER004 = Random(Time())
- INTEGER004 = Random(Time())
- INTEGER004 = Random(Time())
- INTEGER004 = 1
- StartDisp 1
- FOpen 1, PPEPath() + "slogon.cnf", 0, 0
- For INTEGER002 = 1 To 31
- FGet 1, TSTRING003(INTEGER002)
- Next
- FClose 1
- TSTRING001(0, 1) = " " + TSTRING003(18) + " "
- TSTRING001(1, 1) = " " + TSTRING003(19) + " "
- STRING006 = Lower(ReadLine(PCBDat(), 2)) + Lower(ReadLine(PCBDat(), 94))
- For INTEGER002 = 1 To Len(STRING006) Step 2
- INTEGER004 = Left(INTEGER004 * Asc(Mid(STRING006, INTEGER002, 1)), 6)
- Next
- For INTEGER002 = 1 To Len(STRING004) Step 2
- INTEGER001 = INTEGER001 + Asc(Mid(STRING004, INTEGER002, 1))
- Next
- If (INTEGER001 <> 1985) End
- If (INTEGER004 == TSTRING003(1)) Then
- BOOLEAN001 = 1
- STRING004 = Left(STRING004, 34)
- Endif
- If (Exist(PPEPath() + "automsg.dat")) Goto LABEL001
- FCreate 1, PPEPath() + "automsg.dat", 1, 0
- FPutLn 1, "None."
- FClose 1
- :LABEL001
- If (Exist(PPEPath() + "callers.dat")) Goto LABEL002
- FCreate 1, PPEPath() + "callers.dat", 1, 0
- FClose 1
- :LABEL002
- If (Exist(PPEPath() + "oneliner.dat")) Goto LABEL003
- FCreate 1, PPEPath() + "oneliner.dat", 1, 0
- FPutLn 1, TSTRING003(22) + STRING004
- FPutLn 1, TSTRING003(23) + " " + Mid(STRING004, 20, 15)
- FClose 1
- :LABEL003
- If (CurSec() >= TSTRING003(2)) Then
- FreshLine
- If (TSTRING003(6) < 0) Then
- Cls
- Goto LABEL004
- Endif
- Newlines TSTRING003(6)
- :LABEL004
- PrintLn STRING004
- If (Lower(TSTRING003(5)) == "no") Delay 18
- If (!BOOLEAN001) Delay 18
- If (Lower(TSTRING003(5)) <> "no") Then
- Print TSTRING003(5)
- If (Lower(Left(TSTRING003(20), 1)) == "y") Then
- BOOLEAN003 = 1
- Goto LABEL005
- Endif
- BOOLEAN003 = 0
- :LABEL005
- Gosub LABEL019
- If (BOOLEAN003) BOOLEAN002 = 1
- Endif
- FreshLine
- If (BOOLEAN002) Goto LABEL013
- For INTEGER006 = 1 To Len(TSTRING003(7))
- INTEGER007 = Mid(TSTRING003(7), INTEGER006, 1)
- FreshLine
- If (INTEGER007 == 1) Then
- If (Lower(Left(TSTRING003(9), 1)) == "r") Then
- DispFile PPEPath() + "welcome." + String(Random(TSTRING003(8) - 1) + 1), 0
- Wait
- Goto LABEL006
- Endif
- For INTEGER007 = 1 To TSTRING003(8)
- DispFile PPEPath() + "welcome." + String(INTEGER007), 0
- Wait
- Next
- :LABEL006
- Continue
- Endif
- If (INTEGER007 == 2) Then
- DispFile PPEPath() + "stats." + String(Random(TSTRING003(10) - 1) + 1), 0
- Wait
- Continue
- Endif
- If (INTEGER007 == 3) Then
- If (Exist(PPEPath() + "callers.top")) DispFile PPEPath() + "callers.top", 0
- If (Exist(PPEPath() + "callers.dat")) DispFile PPEPath() + "callers.dat", 0
- If (Exist(PPEPath() + "callers.mid")) DispFile PPEPath() + "callers.mid", 0
- If (Exist(PPEPath() + "callers.sta")) DispFile PPEPath() + "callers.sta", 0
- If (Exist(PPEPath() + "callers.bot")) DispFile PPEPath() + "callers.bot", 0
- Wait
- Continue
- Endif
- If (INTEGER007 == 4) Then
- DispFile PPEPath() + "automsg.top", 0
- If (Exist(PPEPath() + "automsg.dat")) DispFile PPEPath() + "automsg.dat", 0
- DispFile PPEPath() + "automsg.bot", 0
- Wait
- Continue
- Endif
- If (INTEGER007 == 5) Then
- FOpen 1, PPEPath() + "oneliner.dat", 0, 0
- INTEGER003 = 0
- :LABEL007
- If (Ferr(1)) Goto LABEL008
- Inc INTEGER003
- FGet 1, TSTRING002(INTEGER003, 0)
- FGet 1, TSTRING002(INTEGER003, 1)
- Goto LABEL007
- :LABEL008
- Dec INTEGER003
- FClose 1
- DispFile PPEPath() + "oneliner.top", 0
- For INTEGER002 = 1 To INTEGER003
- PrintLn TSTRING002(INTEGER002, 0)
- If (CurSec() >= SysopSec()) PrintLn TSTRING002(INTEGER002, 1)
- Next
- DispFile PPEPath() + "oneliner.bot", 0
- Print TSTRING003(25)
- If (Lower(Left(TSTRING003(31), 1)) == "y") Then
- BOOLEAN003 = 1
- Goto LABEL009
- Endif
- BOOLEAN003 = 0
- :LABEL009
- Gosub LABEL019
- Newline
- If (BOOLEAN003) Then
- If (Exist(PPEPath() + "oneliner.hlp")) DispFile PPEPath() + "oneliner.hlp", 0
- Print TSTRING003(22)
- STRING007 = ""
- INTEGER002 = 0
- While (STRING007 <> Chr(13)) Do
- STRING007 = Inkey()
- If (((Len(STRING007) == 1) && (STRING007 >= " ")) && (INTEGER002 < 75)) Then
- Print STRING007
- Inc INTEGER002
- STRING005 = STRING005 + STRING007
- If (StripAtx(Right(STRING005, 4)) == "") Then
- INTEGER009 = CurColor()
- For INTEGER008 = 1 To 4
- Print Chr(8) + " " + Chr(8)
- Dec INTEGER002
- Next
- Print Right(STRING005, 4)
- Endif
- Continue
- Endif
- If ((STRING007 == Chr(8)) && (Len(STRING005) > 0)) Then
- If (StripAtx(Right(STRING005, 4)) == "") Then
- Color INTEGER009
- STRING005 = Left(STRING005, Len(STRING005) - 4)
- Continue
- Endif
- Print Chr(8) + " " + Chr(8)
- Dec INTEGER002
- STRING005 = Left(STRING005, Len(STRING005) - 1)
- Endif
- EndWhile
- If (StripAtx(STRING005) <> "") Then
- FAppend 1, PPEPath() + "oneliner.log", 1, 0
- FPutLn 1, StripAtx(TSTRING003(22) + STRING005)
- FPutLn 1, StripAtx(TSTRING003(23) + " " + Mixed(U_Name()))
- FClose 1
- Log "■ ONELINER: " + STRING005, 0
- If (INTEGER003 < TSTRING003(21)) Then
- INTEGER005 = 1
- Goto LABEL010
- Endif
- INTEGER005 = 2
- INTEGER003 = TSTRING003(21)
- :LABEL010
- If (BOOLEAN001) Goto LABEL011
- TSTRING002(INTEGER005, 0) = TSTRING003(22) + STRING004
- TSTRING002(INTEGER005, 1) = TSTRING003(23) + " " + Mid(STRING004, 20, 15)
- :LABEL011
- FCreate 1, PPEPath() + "oneliner.dat", 1, 0
- For INTEGER002 = INTEGER005 To INTEGER003
- If (TSTRING002(INTEGER002, 0) <> "") FPutLn 1, TSTRING002(INTEGER002, 0)
- If (TSTRING002(INTEGER002, 1) <> "") FPutLn 1, TSTRING002(INTEGER002, 1)
- Next
- FPutLn 1, TSTRING003(22) + STRING005
- FPutLn 1, TSTRING003(23) + " " + Mixed(U_Name())
- FClose 1
- FreshLine
- PrintLn TSTRING003(26)
- Goto LABEL012
- Endif
- FreshLine
- PrintLn TSTRING003(27)
- :LABEL012
- Wait
- Endif
- Continue
- Endif
- If (INTEGER007 == 6) Then
- If (Exist(Right(TSTRING003(28), Len(TSTRING003(28)) - 1))) Then
- DispStr TSTRING003(28)
- Wait
- Endif
- Endif
- Next
- :LABEL013
- If (!OnLocal() || (Lower(TSTRING003(12)) == "yes")) Then
- If (TSTRING003(3) > 0) Then
- INTEGER007 = InStr(TSTRING003(4), "@OPTEXT@")
- TSTRING003(4) = Left(TSTRING003(4), INTEGER007 - 1) + U_Name() + " (" + String(PcbNode()) + ")" + Right(TSTRING003(4), Len(TSTRING003(4)) - INTEGER007 - 7)
- For INTEGER002 = 1 To TSTRING003(3)
- If (INTEGER002 <> PcbNode()) Then
- RdUNet INTEGER002
- If (InStr(" 0NORTWX", UN_Stat()) == 0) Broadcast INTEGER002, INTEGER002, TSTRING003(4)
- Endif
- Next
- Endif
- FOpen 1, PPEPath() + "callers.dat", 0, 0
- INTEGER003 = 0
- :LABEL014
- If (Ferr(1)) Goto LABEL015
- Inc INTEGER003
- FGet 1, TSTRING002(INTEGER003, 2)
- Goto LABEL014
- :LABEL015
- Dec INTEGER003
- FClose 1
- If (INTEGER003 < TSTRING003(11)) Then
- INTEGER005 = 1
- Goto LABEL016
- Endif
- INTEGER005 = 2
- INTEGER003 = TSTRING003(11)
- :LABEL016
- Gosub LABEL018
- FCreate 1, PPEPath() + "callers.dat", 1, 0
- For INTEGER002 = INTEGER005 To INTEGER003
- If (TSTRING002(INTEGER002, 2) <> "") FPutLn 1, TSTRING002(INTEGER002, 2)
- Next
- FPutLn 1, BIGSTR001
- FClose 1
- Goto LABEL017
- Endif
- Gosub LABEL018
- Endif
- :LABEL017
- End
- :LABEL018
- BIGSTR001 = TSTRING003(13)
- FCreate 1, PPEPath() + "callers$." + String(PcbNode()), 1, 0
- STRING008 = Left(TimeAp(Time()), 5) + Lower(Right(TimeAp(Time()), 2))
- BIGSTR001 = ReplaceStr(BIGSTR001, "@LTIME@", STRING008)
- If (OnLocal()) Then
- STRING008 = TSTRING003(14)
- Else
- STRING008 = Right(String(Carrier()), 5)
- STRING008 = Left(STRING008, 2) + "." + Mid(STRING008, 3, 1) + "k"
- Endif
- BIGSTR001 = ReplaceStr(BIGSTR001, "@SPD@", STRING008)
- STRING008 = Right(String(PcbNode()), 3)
- BIGSTR001 = ReplaceStr(BIGSTR001, "@N@", STRING008)
- INTEGER010 = U_Bul()
- INTEGER011 = U_Bdl()
- If (TSTRING003(17) > 9) TSTRING003(17) = 9
- If ((INTEGER010 == 0) && (INTEGER011 == 0)) Then
- STRING009 = " 0:0 "
- Else
- If (INTEGER010 == 0) Inc INTEGER010
- If (INTEGER011 == 0) Inc INTEGER011
- If (INTEGER010 < INTEGER011) Then
- STRING009 = INTEGER011 / INTEGER010
- If (INTEGER011 % INTEGER010 > 0) Inc STRING009
- If (ToInteger(STRING009) > TSTRING003(17)) Then
- STRING009 = TSTRING003(15)
- Else
- STRING009 = " 1:" + STRING009 + " "
- Endif
- ElseIf (INTEGER010 > INTEGER011) Then
- STRING009 = INTEGER010 / INTEGER011
- If (INTEGER010 % INTEGER011 > 0) Inc STRING009
- If (ToInteger(STRING009) > TSTRING003(17)) Then
- STRING009 = TSTRING003(16)
- Else
- STRING009 = " " + STRING009 + ":1 "
- Endif
- Else
- STRING009 = " 1:1 "
- Endif
- Endif
- STRING008 = STRING009
- BIGSTR001 = ReplaceStr(BIGSTR001, "@U/D@", STRING008)
- STRING008 = "---"
- BIGSTR001 = ReplaceStr(BIGSTR001, "@M@", STRING008)
- STRING008 = "ONLINE"
- BIGSTR001 = ReplaceStr(BIGSTR001, "@ACTS@", STRING008)
- STRING008 = Left(U_Name(), 20)
- BIGSTR001 = ReplaceStr(BIGSTR001, "@USERNAME_OR_HANDLE@", STRING008)
- STRING008 = Left(U_City, 20)
- BIGSTR001 = ReplaceStr(BIGSTR001, "@USERCITY_OR_AFFILS@", STRING008)
- STRING008 = U_Name() + " (" + U_City
- If (Len(STRING008) > 40) Then
- STRING008 = Left(STRING008, 40) + ")"
- Else
- STRING008 = Left(STRING008 + ")", 41)
- Endif
- BIGSTR001 = ReplaceStr(BIGSTR001, "@USERNAME_OR_HANDLE_(USERCITY_OR_AFFILS)@", STRING008)
- FPutLn 1, BIGSTR001
- FPutLn 1, U_Ful()
- FPutLn 1, U_Fdl()
- FPutLn 1, U_MsgRd()
- FPutLn 1, U_MsgWr()
- If (Psa(5)) Then
- FPutLn 1, U_Stat(2)
- FPutLn 1, U_Stat(10) + U_Stat(11) + U_Stat(14) + U_Stat(15)
- Else
- FPutLn 1, "0"
- FPutLn 1, "0"
- Endif
- FPutLn 1, U_Bul()
- FPutLn 1, U_Bdl()
- FClose 1
- Return
- :LABEL019
- BOOLEAN004 = 0
- STRING007 = ""
- Print " "
- TSTRING001(0, 0) = GetX() - 1
- Print TSTRING003(29) + TSTRING001(BOOLEAN003, 1)
- TSTRING001(1, 0) = GetX() - 1
- Print TSTRING003(29) + TSTRING001(!BOOLEAN003, 1)
- Print Chr(13)
- Forward TSTRING001(BOOLEAN003, 0)
- Print TSTRING003(30) + TSTRING001(BOOLEAN003, 1)
- Print Chr(13)
- Forward TSTRING001(BOOLEAN003, 0)
- :LABEL020
- If (BOOLEAN004) Goto LABEL021
- STRING007 = Upper(Left(Inkey(), 1))
- Select Case (STRING007)
- Case YesChar()
- If (!BOOLEAN003) STRING007 = "U"
- BOOLEAN004 = 1
- Case NoChar()
- If (BOOLEAN003) STRING007 = "U"
- BOOLEAN004 = 1
- Case Chr(13)
- BOOLEAN004 = 1
- End Select
- If (InStr("ULADRZ", STRING007) > 0) Then
- Print Chr(13)
- Forward TSTRING001(BOOLEAN003, 0)
- Print TSTRING003(29) + TSTRING001(BOOLEAN003, 1)
- BOOLEAN003 = !BOOLEAN003
- Print Chr(13)
- Forward TSTRING001(BOOLEAN003, 0)
- Print TSTRING003(30) + TSTRING001(BOOLEAN003, 1)
- Print Chr(13)
- Forward TSTRING001(BOOLEAN003, 0)
- Endif
- Goto LABEL020
- :LABEL021
- Color DefColor()
- Return
- If (0) Then
- Brag
- FFlush 1
- FReAltUser
- MouseReg 1, 1, 1, 1, 1, 1, 1, 1, 1, 1
- Redim TINTEGER012, 2
- Sort TINTEGER012, TINTEGER012
- Print FlagCnt()
- Print HiMsgNum()
- Print KbdBufSize()
- Print KbdFilUsed()
- Print LoMsgNum()
- Print PPLBufSize()
- Endif
-
- ;------------------------------------------------------------------------------
- ;
- ; Usage report (before postprocessing)
- ;
- ; ■ Statements used :
- ;
- ; 2 End
- ; 1 Cls
- ; 7 Wait
- ; 2 Color
- ; 96 Goto
- ; 102 Let
- ; 24 Print
- ; 5 PrintLn
- ; 80 If
- ; 14 DispFile
- ; 6 FCreate
- ; 3 FOpen
- ; 1 FAppend
- ; 10 FClose
- ; 4 FGet
- ; 22 FPutLn
- ; 1 StartDisp
- ; 1 GetUser
- ; 1 Log
- ; 4 Gosub
- ; 2 Return
- ; 2 Delay
- ; 7 Inc
- ; 4 Dec
- ; 1 Newline
- ; 1 Newlines
- ; 1 Broadcast
- ; 1 DispStr
- ; 1 RdUNet
- ; 5 Forward
- ; 5 FreshLine
- ; 1 FFlush
- ; 1 Redim
- ; 1 Sort
- ; 1 MouseReg
- ; 1 Brag
- ; 1 FReAltUser
- ;
- ;
- ; ■ Functions used :
- ;
- ; 1 *
- ; 2 /
- ; 2 %
- ; 99 +
- ; 10 -
- ; 24 ==
- ; 8 <>
- ; 15 <
- ; 10 <=
- ; 10 >
- ; 23 >=
- ; 62 !
- ; 24 &&
- ; 11 ||
- ; 13 Len(
- ; 9 Lower()
- ; 1 Upper()
- ; 6 Mid()
- ; 15 Left()
- ; 8 Right()
- ; 2 Ferr()
- ; 12 Chr()
- ; 2 Asc()
- ; 3 InStr()
- ; 5 Random()
- ; 5 Time()
- ; 5 U_Name()
- ; 1 U_Ful()
- ; 1 U_Fdl()
- ; 2 U_Bdl()
- ; 2 U_Bul()
- ; 2 TimeAp()
- ; 1 NoChar()
- ; 1 YesChar()
- ; 5 StripAtx()
- ; 2 Inkey()
- ; 7 String()
- ; 2 PCBDat()
- ; 34 PPEPath()
- ; 1 U_MsgRd()
- ; 1 U_MsgWr()
- ; 4 PcbNode()
- ; 2 ReadLine()
- ; 1 SysopSec()
- ; 2 OnLocal()
- ; 1 UN_Stat()
- ; 2 CurSec()
- ; 11 Exist()
- ; 1 Carrier()
- ; 2 GetX()
- ; 5 U_Stat()
- ; 1 DefColor()
- ; 1 Psa()
- ; 1 CurColor()
- ; 9 ReplaceStr()
- ; 2 ToInteger()
- ; 2 Mixed()
- ; 1 FlagCnt()
- ; 1 KbdBufSize()
- ; 1 PPLBufSize()
- ; 1 KbdFilUsed()
- ; 1 LoMsgNum()
- ; 1 HiMsgNum()
- ;
- ;------------------------------------------------------------------------------
- ;
- ; Analysis flags : ds
- ;
- ; d - Access PCBOARD.DAT ■ 2
- ; Program gets the full pathname to PCBOARD.DAT, this may be usefull
- ; for many PPE so they can find various informations on the system
- ; (system paths, max number of lines in messages, ...) but it may also
- ; be a way to gather vital informations.
- ; ■ Search for : PCBDAT()
- ;
- ; s - Sysop level access ■ 5
- ; Program is reading the sysop access level, this may be normal
- ; but still it is very suspect. It is the best way to give a user
- ; all priviledges. Check!
- ; ■ Search for : SYSOPSEC()
- ;
- ;------------------------------------------------------------------------------
- ;
- ; Postprocessing report
- ;
- ; 10 For/Next
- ; 1 While/EndWhile
- ; 35 If/Then or If/Then/Else
- ; 1 Select Case
- ;
- ;------------------------------------------------------------------------------
- ; AEGiS Corp - Break the routines, code against the machines!
- ;------------------------------------------------------------------------------
-